1. Field of the Invention
The present invention relates to calculating a position error signal used in hard disk drives.
2. Background Information
Hard disk drives contain a plurality of magnetic heads that are coupled to rotating disks. The heads write and read information by magnetizing and sensing the magnetic fields of the disk surfaces. Each head is attached to a flexure arm to create a subassembly commonly referred to as a head gimbal assembly (“HGA”). The HGA's are suspended from an actuator arm. The actuator arm has a voice coil motor that can move the heads across the surfaces of the disks.
Information is typically stored in radial tracks that extend across the surface of each disk. Each track is typically divided into a number of segments or sectors. The voice coil motor and actuator arm can move the heads to different tracks of the disks.
FIG. 1 shows a typical track that has a number of fields associated with each sector. A sector may include an automatic gain control (“AGC”) field 1 that is used to adjust the strength of the read signal, a sync field 2 to establish a timing reference for the circuits of the drive, and ID 3 and Gray Code 4 fields to provide sector and track identification.
Each sector may also have a servo field 5 located adjacent to a data field 6. The servo field 5 contains a plurality of servo bits A, B, C and D that are read and utilized in a servo routine to position the head 7 relative to the track. By way of example, the servo routine may utilize the algorithm of ((A-B)-(C-D)) to create a position error signal (“PES”). The PES is used to create a drive signal for the voice coil motor to position the head on the track. The system can monitor the PES and inhibit a write operation if the PES value exceeds a certain threshold. The PES is also used to perform seek routines to move the heads from one track to another track.
The PES is typically calculated from the total loop gain of the servo. Unfortunately, the total loop gain does not provide the most accurate PES values, which may lead to undesirable write operations or an improper termination of a write operation.